\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (0,-1.2) [greencell] {11};
\node(2) at (1,-1.2) [lbluecell] {\textbf{}};
\node(3) at (2,-1.2) [lbluecell] {\textbf{}};
\node(4) at (3,-1.2) [lbluecell] {\textbf{}};
\node(5) at (4,-1.2) [lbluecell] {\textbf{}};
\node(6) at (5,-1.2) [lbluecell] {\textbf{}};
\node(7) at (6,-1.2) [lbluecell] {\textbf{}};
\node(8) at (7,-1.2) [lbluecell] {\textbf{}};
\node(9) at (8,-1.2) [lbluecell] {\textbf{}};
\node(10) at (9,-1.2) [lbluecell] {\textbf{}};
\node(11) at (10,-1.2) [lbluecell] {\textbf{}};
\node(12) at (11,-1.2) [lbluecell] {\textbf{}};
\node(13) at (12,-1.2) [lbluecell] {\textbf{}};
\node(14) at (13,-1.2) [lbluecell] {\textbf{}};
\node(15) at (14,-1.2) [lbluecell] {\textbf{}};
\node(16) at (15,-1.2) [lbluecell] {\textbf{}};
\node(17) at (16,-1.2) [lbluecell] {\textbf{}};
\node(18) at (17,-1.2) [lbluecell] {\textbf{}};
\node(19) at (18,-1.2) [lbluecell] {\textbf{}};
\draw[densely dotted,green,->] (0.west) -| node {} (1.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 0.}
\label{fig:newcldtab0}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (15,-1.5) [bluenode] {11..18};
\node(3) at (10,-2.7) [greencell] {6};
\node(4) at (11,-2.7) [greencell] {17};
\node(5) at (0,-2.7) [lbluecell] {\textbf{}};
\node(6) at (1,-2.7) [lbluecell] {\textbf{}};
\node(7) at (2,-2.7) [lbluecell] {\textbf{}};
\node(8) at (3,-2.7) [lbluecell] {\textbf{}};
\node(9) at (4,-2.7) [lbluecell] {\textbf{}};
\node(10) at (5,-2.7) [lbluecell] {\textbf{}};
\node(11) at (6,-2.7) [lbluecell] {\textbf{}};
\node(12) at (7,-2.7) [lbluecell] {\textbf{}};
\node(13) at (8,-2.7) [lbluecell] {\textbf{}};
\node(14) at (9,-2.7) [lbluecell] {\textbf{}};
\node(15) at (12,-2.7) [lbluecell] {\textbf{}};
\node(16) at (13,-2.7) [lbluecell] {\textbf{}};
\node(17) at (14,-2.7) [lbluecell] {\textbf{}};
\node(18) at (15,-2.7) [lbluecell] {\textbf{}};
\node(19) at (16,-2.7) [lbluecell] {\textbf{}};
\node(20) at (17,-2.7) [lbluecell] {\textbf{}};
\node(21) at (18,-2.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (2);
\draw[densely dotted,green,->] (1.east) -| node {} (3.north);
\draw[densely dotted,green,->] (2.west) -| node {} (4.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 1.}
\label{fig:newcldtab1}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (8,-3.0) [bluenode] {6..10};
\node(4) at (15,-1.5) [bluenode] {11..18};
\node(5) at (14,-3.0) [bluenode] {11..16};
\node(6) at (18,-3.0) [bluenode] {17..18};
\node(7) at (5,-4.2) [greencell] {3};
\node(8) at (6,-4.2) [greencell] {10};
\node(9) at (16,-4.2) [greencell] {16};
\node(10) at (17,-4.2) [greencell] {18};
\node(11) at (0,-4.2) [lbluecell] {\textbf{}};
\node(12) at (1,-4.2) [lbluecell] {\textbf{}};
\node(13) at (2,-4.2) [lbluecell] {\textbf{}};
\node(14) at (3,-4.2) [lbluecell] {\textbf{}};
\node(15) at (4,-4.2) [lbluecell] {\textbf{}};
\node(16) at (7,-4.2) [lbluecell] {\textbf{}};
\node(17) at (8,-4.2) [lbluecell] {\textbf{}};
\node(18) at (9,-4.2) [lbluecell] {\textbf{}};
\node(19) at (10,-4.2) [lbluecell] {\textbf{}};
\node(20) at (11,-4.2) [lbluecell] {\textbf{}};
\node(21) at (12,-4.2) [lbluecell] {\textbf{}};
\node(22) at (13,-4.2) [lbluecell] {\textbf{}};
\node(23) at (14,-4.2) [lbluecell] {\textbf{}};
\node(24) at (15,-4.2) [lbluecell] {\textbf{}};
\node(25) at (18,-4.2) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (3);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,blue,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[densely dotted,green,->] (2.east) -| node {} (7.north);
\draw[densely dotted,green,->] (3.west) -| node {} (8.north);
\draw[densely dotted,green,->] (5.east) -| node {} (9.north);
\draw[densely dotted,green,->] (6.west) -| node {} (10.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 2.}
\label{fig:newcldtab2}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (4,-4.5) [magentanode] {3..5};
\node(5) at (8,-3.0) [bluenode] {6..10};
\node(6) at (8,-4.5) [cyannode] {6..9};
\node(7) at (10,-4.5) [bluenode] {10};
\node(8) at (15,-1.5) [bluenode] {11..18};
\node(9) at (14,-3.0) [bluenode] {11..16};
\node(10) at (13,-4.5) [purplenode] {11..15};
\node(11) at (16,-4.5) [bluenode] {16};
\node(12) at (18,-3.0) [bluenode] {17..18};
\node(13) at (17,-4.5) [bluenode] {17};
\node(14) at (18,-4.5) [bluenode] {18};
\node(15) at (2,-5.7) [greencell] {2};
\node(16) at (3,-5.7) [greencell] {5};
\node(17) at (9,-5.7) [greencell] {9};
\node(18) at (15,-5.7) [greencell] {15};
\node(19) at (0,-5.7) [lbluecell] {\textbf{}};
\node(20) at (1,-5.7) [lbluecell] {\textbf{}};
\node(21) at (4,-5.7) [lbluecell] {\textbf{}};
\node(22) at (5,-5.7) [lbluecell] {\textbf{}};
\node(23) at (6,-5.7) [lbluecell] {\textbf{}};
\node(24) at (7,-5.7) [lbluecell] {\textbf{}};
\node(25) at (8,-5.7) [lbluecell] {\textbf{}};
\node(26) at (10,-5.7) [lbluecell] {\textbf{}};
\node(27) at (11,-5.7) [lbluecell] {\textbf{}};
\node(28) at (12,-5.7) [lbluecell] {\textbf{}};
\node(29) at (13,-5.7) [lbluecell] {\textbf{}};
\node(30) at (14,-5.7) [lbluecell] {\textbf{}};
\node(31) at (16,-5.7) [lbluecell] {\textbf{}};
\node(32) at (17,-5.7) [lbluecell] {\textbf{}};
\node(33) at (18,-5.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (5);
\draw[thick,blue,-o] (5) -- +(0,-0.6) -| node {} (6);
\draw[thick,blue,-o] (5) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (8);
\draw[thick,blue,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,blue,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,blue,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,blue,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (12) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (12) -- +(0,-0.6) -| node {} (14);
\draw[densely dotted,green,->] (3.east) -| node {} (15.north);
\draw[densely dotted,green,->] (4.west) -| node {} (16.north);
\draw[densely dotted,green,->] (6.east) -| node {} (17.north);
\draw[densely dotted,green,->] (10.east) -| node {} (18.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 3.}
\label{fig:newcldtab3}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(5) at (2,-6.0) [orangenode] {2};
\node(6) at (4,-4.5) [magentanode] {3..5};
\node(7) at (4,-6.0) [magentanode] {3..4};
\node(8) at (5,-6.0) [magentanode] {5};
\node(9) at (8,-3.0) [bluenode] {6..10};
\node(10) at (8,-4.5) [cyannode] {6..9};
\node(11) at (7,-6.0) [cyannode] {6..8};
\node(12) at (9,-6.0) [cyannode] {9};
\node(13) at (10,-4.5) [bluenode] {10};
\node(14) at (15,-1.5) [bluenode] {11..18};
\node(15) at (14,-3.0) [bluenode] {11..16};
\node(16) at (13,-4.5) [purplenode] {11..15};
\node(17) at (13,-6.0) [purplenode] {11..14};
\node(18) at (15,-6.0) [purplenode] {15};
\node(19) at (16,-4.5) [bluenode] {16};
\node(20) at (18,-3.0) [bluenode] {17..18};
\node(21) at (17,-4.5) [bluenode] {17};
\node(22) at (18,-4.5) [bluenode] {18};
\node(23) at (1,-7.2) [greencell] {1};
\node(24) at (4,-7.2) [greencell] {4};
\node(25) at (8,-7.2) [greencell] {7};
\node(26) at (14,-7.2) [greencell] {12};
\node(27) at (0,-7.2) [lbluecell] {\textbf{}};
\node(28) at (2,-7.2) [lbluecell] {\textbf{}};
\node(29) at (3,-7.2) [lbluecell] {\textbf{}};
\node(30) at (5,-7.2) [lbluecell] {\textbf{}};
\node(31) at (6,-7.2) [lbluecell] {\textbf{}};
\node(32) at (7,-7.2) [lbluecell] {\textbf{}};
\node(33) at (9,-7.2) [lbluecell] {\textbf{}};
\node(34) at (10,-7.2) [lbluecell] {\textbf{}};
\node(35) at (11,-7.2) [lbluecell] {\textbf{}};
\node(36) at (12,-7.2) [lbluecell] {\textbf{}};
\node(37) at (13,-7.2) [lbluecell] {\textbf{}};
\node(38) at (15,-7.2) [lbluecell] {\textbf{}};
\node(39) at (16,-7.2) [lbluecell] {\textbf{}};
\node(40) at (17,-7.2) [lbluecell] {\textbf{}};
\node(41) at (18,-7.2) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (5);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (6);
\draw[thick,magenta,-o] (6) -- +(0,-0.6) -| node {} (7);
\draw[thick,magenta,-o] (6) -- +(0,-0.6) -| node {} (8);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (9);
\draw[thick,blue,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,cyan,-o] (10) -- +(0,-0.6) -| node {} (11);
\draw[thick,cyan,-o] (10) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (9) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (14);
\draw[thick,blue,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,blue,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,purple,-o] (16) -- +(0,-0.6) -| node {} (17);
\draw[thick,purple,-o] (16) -- +(0,-0.6) -| node {} (18);
\draw[thick,blue,-o] (15) -- +(0,-0.6) -| node {} (19);
\draw[thick,blue,-o] (14) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (20) -- +(0,-0.6) -| node {} (21);
\draw[thick,blue,-o] (20) -- +(0,-0.6) -| node {} (22);
\draw[densely dotted,green,->] (4.south) -| node {} (23.north);
\draw[densely dotted,green,->] (7.south) -| node {} (24.north);
\draw[densely dotted,green,->] (11.east) -| node {} (25.north);
\draw[densely dotted,green,->] (17.east) -| node {} (26.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 4.}
\label{fig:newcldtab4}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(5) at (0,-7.5) [orangenode] {0};
\node(6) at (1,-7.5) [orangenode] {1};
\node(7) at (2,-6.0) [orangenode] {2};
\node(8) at (4,-4.5) [magentanode] {3..5};
\node(9) at (4,-6.0) [magentanode] {3..4};
\node(10) at (3,-7.5) [magentanode] {3};
\node(11) at (4,-7.5) [magentanode] {4};
\node(12) at (5,-6.0) [magentanode] {5};
\node(13) at (8,-3.0) [bluenode] {6..10};
\node(14) at (8,-4.5) [cyannode] {6..9};
\node(15) at (7,-6.0) [cyannode] {6..8};
\node(16) at (6,-7.5) [cyannode] {6};
\node(17) at (8,-7.5) [purplenode] {7..8};
\node(18) at (9,-6.0) [cyannode] {9};
\node(19) at (10,-4.5) [bluenode] {10};
\node(20) at (15,-1.5) [bluenode] {11..18};
\node(21) at (14,-3.0) [bluenode] {11..16};
\node(22) at (13,-4.5) [yellownode] {11..15};
\node(23) at (13,-6.0) [yellownode] {11..14};
\node(24) at (11,-7.5) [yellownode] {11};
\node(25) at (13,-7.5) [olivenode] {12..14};
\node(26) at (15,-6.0) [yellownode] {15};
\node(27) at (16,-4.5) [bluenode] {16};
\node(28) at (18,-3.0) [bluenode] {17..18};
\node(29) at (17,-4.5) [bluenode] {17};
\node(30) at (18,-4.5) [bluenode] {18};
\node(31) at (7,-8.7) [greencell] {8};
\node(32) at (12,-8.7) [greencell] {14};
\node(33) at (0,-8.7) [lbluecell] {\textbf{}};
\node(34) at (1,-8.7) [lbluecell] {\textbf{}};
\node(35) at (2,-8.7) [lbluecell] {\textbf{}};
\node(36) at (3,-8.7) [lbluecell] {\textbf{}};
\node(37) at (4,-8.7) [lbluecell] {\textbf{}};
\node(38) at (5,-8.7) [lbluecell] {\textbf{}};
\node(39) at (6,-8.7) [lbluecell] {\textbf{}};
\node(40) at (8,-8.7) [lbluecell] {\textbf{}};
\node(41) at (9,-8.7) [lbluecell] {\textbf{}};
\node(42) at (10,-8.7) [lbluecell] {\textbf{}};
\node(43) at (11,-8.7) [lbluecell] {\textbf{}};
\node(44) at (13,-8.7) [lbluecell] {\textbf{}};
\node(45) at (14,-8.7) [lbluecell] {\textbf{}};
\node(46) at (15,-8.7) [lbluecell] {\textbf{}};
\node(47) at (16,-8.7) [lbluecell] {\textbf{}};
\node(48) at (17,-8.7) [lbluecell] {\textbf{}};
\node(49) at (18,-8.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (8);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (14);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (17);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (18);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (19);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (20) -- +(0,-0.6) -| node {} (21);
\draw[thick,blue,-o] (21) -- +(0,-0.6) -| node {} (22);
\draw[thick,yellow,-o] (22) -- +(0,-0.6) -| node {} (23);
\draw[thick,yellow,-o] (23) -- +(0,-0.6) -| node {} (24);
\draw[thick,yellow,-o] (23) -- +(0,-0.6) -| node {} (25);
\draw[thick,yellow,-o] (22) -- +(0,-0.6) -| node {} (26);
\draw[thick,blue,-o] (21) -- +(0,-0.6) -| node {} (27);
\draw[thick,blue,-o] (20) -- +(0,-0.6) -| node {} (28);
\draw[thick,blue,-o] (28) -- +(0,-0.6) -| node {} (29);
\draw[thick,blue,-o] (28) -- +(0,-0.6) -| node {} (30);
\draw[densely dotted,green,->] (17.west) -| node {} (31.north);
\draw[densely dotted,green,->] (25.west) -| node {} (32.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 5.}
\label{fig:newcldtab5}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(5) at (0,-7.5) [orangenode] {0};
\node(6) at (1,-7.5) [orangenode] {1};
\node(7) at (2,-6.0) [orangenode] {2};
\node(8) at (4,-4.5) [magentanode] {3..5};
\node(9) at (4,-6.0) [magentanode] {3..4};
\node(10) at (3,-7.5) [magentanode] {3};
\node(11) at (4,-7.5) [magentanode] {4};
\node(12) at (5,-6.0) [magentanode] {5};
\node(13) at (8,-3.0) [bluenode] {6..10};
\node(14) at (8,-4.5) [cyannode] {6..9};
\node(15) at (7,-6.0) [cyannode] {6..8};
\node(16) at (6,-7.5) [cyannode] {6};
\node(17) at (8,-7.5) [purplenode] {7..8};
\node(18) at (7,-9.0) [purplenode] {7};
\node(19) at (8,-9.0) [purplenode] {8};
\node(20) at (9,-6.0) [cyannode] {9};
\node(21) at (10,-4.5) [bluenode] {10};
\node(22) at (15,-1.5) [bluenode] {11..18};
\node(23) at (14,-3.0) [bluenode] {11..16};
\node(24) at (13,-4.5) [yellownode] {11..15};
\node(25) at (13,-6.0) [yellownode] {11..14};
\node(26) at (11,-7.5) [yellownode] {11};
\node(27) at (13,-7.5) [olivenode] {12..14};
\node(28) at (13,-9.0) [olivenode] {12..13};
\node(29) at (14,-9.0) [olivenode] {14};
\node(30) at (15,-6.0) [yellownode] {15};
\node(31) at (16,-4.5) [bluenode] {16};
\node(32) at (18,-3.0) [bluenode] {17..18};
\node(33) at (17,-4.5) [bluenode] {17};
\node(34) at (18,-4.5) [bluenode] {18};
\node(35) at (13,-10.2) [greencell] {13};
\node(36) at (0,-10.2) [lbluecell] {\textbf{}};
\node(37) at (1,-10.2) [lbluecell] {\textbf{}};
\node(38) at (2,-10.2) [lbluecell] {\textbf{}};
\node(39) at (3,-10.2) [lbluecell] {\textbf{}};
\node(40) at (4,-10.2) [lbluecell] {\textbf{}};
\node(41) at (5,-10.2) [lbluecell] {\textbf{}};
\node(42) at (6,-10.2) [lbluecell] {\textbf{}};
\node(43) at (7,-10.2) [lbluecell] {\textbf{}};
\node(44) at (8,-10.2) [lbluecell] {\textbf{}};
\node(45) at (9,-10.2) [lbluecell] {\textbf{}};
\node(46) at (10,-10.2) [lbluecell] {\textbf{}};
\node(47) at (11,-10.2) [lbluecell] {\textbf{}};
\node(48) at (12,-10.2) [lbluecell] {\textbf{}};
\node(49) at (14,-10.2) [lbluecell] {\textbf{}};
\node(50) at (15,-10.2) [lbluecell] {\textbf{}};
\node(51) at (16,-10.2) [lbluecell] {\textbf{}};
\node(52) at (17,-10.2) [lbluecell] {\textbf{}};
\node(53) at (18,-10.2) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (8);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (14);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (17);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (18);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (19);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (21);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (24);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (25);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (26);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (27);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (28);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (29);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (30);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (31);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (32);
\draw[thick,blue,-o] (32) -- +(0,-0.6) -| node {} (33);
\draw[thick,blue,-o] (32) -- +(0,-0.6) -| node {} (34);
\draw[densely dotted,green,->] (28.south) -| node {} (35.north);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 6.}
\label{fig:newcldtab6}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(5) at (0,-7.5) [orangenode] {0};
\node(6) at (1,-7.5) [orangenode] {1};
\node(7) at (2,-6.0) [orangenode] {2};
\node(8) at (4,-4.5) [magentanode] {3..5};
\node(9) at (4,-6.0) [magentanode] {3..4};
\node(10) at (3,-7.5) [magentanode] {3};
\node(11) at (4,-7.5) [magentanode] {4};
\node(12) at (5,-6.0) [magentanode] {5};
\node(13) at (8,-3.0) [bluenode] {6..10};
\node(14) at (8,-4.5) [cyannode] {6..9};
\node(15) at (7,-6.0) [cyannode] {6..8};
\node(16) at (6,-7.5) [cyannode] {6};
\node(17) at (8,-7.5) [purplenode] {7..8};
\node(18) at (7,-9.0) [purplenode] {7};
\node(19) at (8,-9.0) [purplenode] {8};
\node(20) at (9,-6.0) [cyannode] {9};
\node(21) at (10,-4.5) [bluenode] {10};
\node(22) at (15,-1.5) [bluenode] {11..18};
\node(23) at (14,-3.0) [bluenode] {11..16};
\node(24) at (13,-4.5) [yellownode] {11..15};
\node(25) at (13,-6.0) [yellownode] {11..14};
\node(26) at (11,-7.5) [yellownode] {11};
\node(27) at (13,-7.5) [olivenode] {12..14};
\node(28) at (13,-9.0) [olivenode] {12..13};
\node(29) at (12,-10.5) [olivenode] {12};
\node(30) at (13,-10.5) [olivenode] {13};
\node(31) at (14,-9.0) [olivenode] {14};
\node(32) at (15,-6.0) [yellownode] {15};
\node(33) at (16,-4.5) [bluenode] {16};
\node(34) at (18,-3.0) [bluenode] {17..18};
\node(35) at (17,-4.5) [bluenode] {17};
\node(36) at (18,-4.5) [bluenode] {18};
\node(37) at (0,-11.7) [lbluecell] {\textbf{}};
\node(38) at (1,-11.7) [lbluecell] {\textbf{}};
\node(39) at (2,-11.7) [lbluecell] {\textbf{}};
\node(40) at (3,-11.7) [lbluecell] {\textbf{}};
\node(41) at (4,-11.7) [lbluecell] {\textbf{}};
\node(42) at (5,-11.7) [lbluecell] {\textbf{}};
\node(43) at (6,-11.7) [lbluecell] {\textbf{}};
\node(44) at (7,-11.7) [lbluecell] {\textbf{}};
\node(45) at (8,-11.7) [lbluecell] {\textbf{}};
\node(46) at (9,-11.7) [lbluecell] {\textbf{}};
\node(47) at (10,-11.7) [lbluecell] {\textbf{}};
\node(48) at (11,-11.7) [lbluecell] {\textbf{}};
\node(49) at (12,-11.7) [lbluecell] {\textbf{}};
\node(50) at (13,-11.7) [lbluecell] {\textbf{}};
\node(51) at (14,-11.7) [lbluecell] {\textbf{}};
\node(52) at (15,-11.7) [lbluecell] {\textbf{}};
\node(53) at (16,-11.7) [lbluecell] {\textbf{}};
\node(54) at (17,-11.7) [lbluecell] {\textbf{}};
\node(55) at (18,-11.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (8);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (14);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (17);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (18);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (19);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (21);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (24);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (25);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (26);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (27);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (28);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (29);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (30);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (31);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (32);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (33);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (34);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (35);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (36);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: level 7.}
\label{fig:newcldtab7}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(5) at (0,-7.5) [orangenode] {0};
\node(6) at (1,-7.5) [orangenode] {1};
\node(7) at (2,-6.0) [orangenode] {2};
\node(8) at (4,-4.5) [magentanode] {3..5};
\node(9) at (4,-6.0) [magentanode] {3..4};
\node(10) at (3,-7.5) [magentanode] {3};
\node(11) at (4,-7.5) [magentanode] {4};
\node(12) at (5,-6.0) [magentanode] {5};
\node(13) at (8,-3.0) [bluenode] {6..10};
\node(14) at (8,-4.5) [cyannode] {6..9};
\node(15) at (7,-6.0) [cyannode] {6..8};
\node(16) at (6,-7.5) [cyannode] {6};
\node(17) at (8,-7.5) [purplenode] {7..8};
\node(18) at (7,-9.0) [purplenode] {7};
\node(19) at (8,-9.0) [purplenode] {8};
\node(20) at (9,-6.0) [cyannode] {9};
\node(21) at (10,-4.5) [bluenode] {10};
\node(22) at (15,-1.5) [bluenode] {11..18};
\node(23) at (14,-3.0) [bluenode] {11..16};
\node(24) at (13,-4.5) [yellownode] {11..15};
\node(25) at (13,-6.0) [yellownode] {11..14};
\node(26) at (11,-7.5) [yellownode] {11};
\node(27) at (13,-7.5) [olivenode] {12..14};
\node(28) at (13,-9.0) [olivenode] {12..13};
\node(29) at (12,-10.5) [olivenode] {12};
\node(30) at (13,-10.5) [olivenode] {13};
\node(31) at (14,-9.0) [olivenode] {14};
\node(32) at (15,-6.0) [yellownode] {15};
\node(33) at (16,-4.5) [bluenode] {16};
\node(34) at (18,-3.0) [bluenode] {17..18};
\node(35) at (17,-4.5) [bluenode] {17};
\node(36) at (18,-4.5) [bluenode] {18};
\node(37) at (0,-11.7) [greencell] {11};
\node(38) at (1,-11.7) [greencell] {1};
\node(39) at (2,-11.7) [greencell] {2};
\node(40) at (3,-11.7) [greencell] {5};
\node(41) at (4,-11.7) [greencell] {4};
\node(42) at (5,-11.7) [greencell] {3};
\node(43) at (6,-11.7) [greencell] {10};
\node(44) at (7,-11.7) [greencell] {8};
\node(45) at (8,-11.7) [greencell] {7};
\node(46) at (9,-11.7) [greencell] {9};
\node(47) at (10,-11.7) [greencell] {6};
\node(48) at (11,-11.7) [greencell] {17};
\node(49) at (12,-11.7) [greencell] {14};
\node(50) at (13,-11.7) [greencell] {13};
\node(51) at (14,-11.7) [greencell] {12};
\node(52) at (15,-11.7) [greencell] {15};
\node(53) at (16,-11.7) [greencell] {16};
\node(54) at (17,-11.7) [greencell] {18};
\node(55) at (18,-11.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (8);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (14);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (17);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (18);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (19);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (21);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (24);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (25);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (26);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (27);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (28);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (29);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (30);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (31);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (32);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (33);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (34);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (35);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (36);
};
\end{tikzpicture}
\end{center}
\caption{Binary lcp-interval tree traversal using the \textit{newcldtab}: complete tree.}
\label{fig:newcldtab8}
\end{figure}
